package com.example.analysis.mapper;

import com.example.analysis.dto.TimeScoreSupDto;
import com.example.analysis.domain.EvaluateListInfo;
import com.example.analysis.domain.ScoreInfo;
import com.example.analysis.domain.SupervisionListInfo;
import com.example.analysis.entity.Course;
import com.example.analysis.entity.EvaluateSupervision;
import com.example.analysis.entity.EvaluateSupervisionKey;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface EvaluateSupervisionDao {
    int deleteByPrimaryKey(EvaluateSupervisionKey key);

    int insert(EvaluateSupervision record);

    int insertSelective(EvaluateSupervision record);

    List<EvaluateSupervision> selectByPrimaryKey( @Param("supervisionId") String supervisionId,@Param("subId") String subId,@Param("teacherId") String teacherId);

    int updateByPrimaryKeySelective(EvaluateSupervision record);

    int updateByPrimaryKey(EvaluateSupervision record);

    List<Double> selectScoreByQuestId(String questId);

    List<TimeScoreSupDto> getTimeScoreSetSup(@Param("teacherId") String teacherId, @Param("subId") String subId);

    String getEvaTime( @Param("supervisionId") String supervisionId, @Param("subId") String subId, @Param("teacherId") String teacherId);

    List<SupervisionListInfo> getList(SupervisionListInfo supervisionListInfo);

    List<ScoreInfo> getCourse(String semester);

    List<Course> getClassOne();

    List<SupervisionListInfo> getEvaluate();
    // 根据参数查询。信度分析中使用
    double[] selectScoreByParam(@Param("questId") String questId, @Param("courseId") String courseId, @Param("teacherId") String teacherId);
}

